home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / share / perl5 / Debconf / Db.pm < prev    next >
Text File  |  2008-10-10  |  1KB  |  58 lines

  1. #!/usr/bin/perl -w
  2. # This file was preprocessed, do not edit!
  3.  
  4.  
  5. package Debconf::Db;
  6. use strict;
  7. use Debconf::Log qw{:all};
  8. use Debconf::Config;
  9. use Debconf::DbDriver;
  10. our $config;
  11. our $templates;
  12.  
  13.  
  14. sub load {
  15.     my $class=shift;
  16.  
  17.     Debconf::Config->load('', @_); # load default config file
  18.     $config=Debconf::DbDriver->driver(Debconf::Config->config);
  19.     if (not ref $config) {
  20.         die "Configuration database \"".Debconf::Config->config.
  21.             "\" was not initialized.\n";
  22.     }
  23.     $templates=Debconf::DbDriver->driver(Debconf::Config->templates);
  24.     if (not ref $templates) {
  25.         die "Template database \"".Debconf::Config->templates.
  26.             "\" was not initialized.\n";
  27.     }
  28. }
  29.  
  30.  
  31. sub makedriver {
  32.     my $class=shift;
  33.     my %config=@_;
  34.  
  35.     my $type=$config{driver} or die "driver type not specified (perhaps you need to re-read debconf.conf(5))";
  36.  
  37.     if (! UNIVERSAL::can("Debconf::DbDriver::$type", 'new')) {
  38.         eval qq{use Debconf::DbDriver::$type};
  39.         die $@ if $@;
  40.     }
  41.     delete $config{driver}; # not a field for the object
  42.     
  43.     debug db => "making DbDriver of type $type";
  44.     "Debconf::DbDriver::$type"->new(%config);
  45. }
  46.  
  47.  
  48. sub save {
  49.  
  50.     $config->shutdown if $config;
  51.     $templates->shutdown if $templates;
  52.     $config='';
  53.     $templates='';
  54. }
  55.  
  56.  
  57. 1
  58.